package main

import (
	"fmt"
	"io/ioutil"
	"os"
)

func main() {
	data := []byte("hello world \n")

	err := ioutil.WriteFile("data1", data, 0777)

	if err != nil {
		fmt.Println(err)
	}

	read1, err := ioutil.ReadFile("data1")
	//readFile 返回的是一个byte的切片，要使用String函数转换一下[104 101 108 108 111 32 119 111 114 108 100 32 10]
	fmt.Println(string(read1))

	//创建一个文件，传入文件名
	file1, _ := os.Create("data2")
	defer file1.Close()
	//写入数据，参数是byte切片，返回写入的长度
	bytes, _ := file1.Write(data)
	fmt.Printf("write file success, len: %d\n", bytes)

	//读取文件前首先要打开文件
	file2, _ := os.Open("data2")
	defer file2.Close()
	//os提供的读取文件的方法是将文件内容读入byte的切片中，所以要先声明一个切片
	read2 := make([]byte, len(data))
	//Read 返回读取到的内容的长度，传入一个byte的切片
	bytes, _ = file2.Read(read2)
	fmt.Printf("read file success, len: %d\n", bytes)
	fmt.Println(string(read2))
}
